// pages/authorize/index.js
var app = getApp();
// let Domain = app.globalData.domain;
Page({

    /**
     * 页面的初始数据
     */
    data: {},

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) { },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () { },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () { },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () { },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () { },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () { },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () { },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () { },
    bindGetUserInfo: function (e) {
        // 获得最新的用户信息
        if (!e.detail.userInfo) {
            return;
        }
        wx.setStorageSync('userInfo', e.detail.userInfo);
        this.checkSessionAndLogin();
    },
    /* 
      这里使用openid 作为与后端session 连接的标志
      检查是否存在openid，即之前是否登录过
        如果登录过，检查session_key 是否过期
          如果过期了，remove openid 重新执行login 并将用户信息发送到服务器端更新
          如果没过期则返回
        如果没登录过则执行login 并将用户信息发送到服务器更新
    */
    checkSessionAndLogin: function () {
        let that = this;
        let thisOpenId = wx.getStorageSync('lingPaiStr');
        let userInfo = wx.getStorageSync('userInfo');
        // 已经进行了登录，检查登录是否过期
        if (userInfo) {
            wx.checkSession({
                success: function () {
                    //session_key 未过期，并且在本生命周期一直有效
                    wx.navigateBack({});
                },
                fail: function () {
                    // session_key 已经失效，需要重新执行登录流程
                    wx.removeStorageSync('lingPaiStr');
                    that.checkSessionAndLogin();
                }
            })
        } else {
            // 没有进行登录则先进行登录操作
            that.loginAndGetOpenid();
        }
    },
    // 执行登录操作并获取用户openId
    loginAndGetOpenid: function () {
        let that = this;
        var userInfo = wx.getStorageSync('userInfo');
        wx.login({
            success: function (res) {
                if (res.code) {
                    wx.request({
                        url: 'https://wechat.wuyuzhong.com/api/login',
                        data: {
                            code: res.code,
                            nickname: userInfo.nickName,
                            avatar:userInfo.avatarUrl,
                            sex: userInfo.gender
                        },
                        success: function (res) {
                            res = res.data;
                            // 保存openId，并将用户信息发送给后端
                            if (res.code === 0) {
                                // wx.showModal({
                                //     title: 'set lingPai',
                                //     content: res.data.token,
                                // })
                                wx.setStorageSync('lingPaiStr', 'Bearer'+' '+res.data.token);
                                var num = wx.getStorageSync('lingPaiStr');
                                wx.navigateBack({})
                                // that.sendUserInfoToServer();
                            } else {
                                wx.showModal({
                                    title: 'Sorry',
                                    content: '用户登录失败~',
                                })
                            }
                        }
                    })
                }
            }
        })
    }
    // ,
    // sendUserInfoToServer: function () {

    //     let userInfo = wx.getStorageSync('userInfo');
    //     let thisOpenId = wx.getStorageSync('openid');

    //     userInfo.openid = thisOpenId;

    //     wx.request({
    //         url: Domain + '/user/updateUser',
    //         method: 'POST',
    //         dataType: 'json',
    //         data: userInfo,
    //         success: function (res) {
    //             res = res.data;
    //             if (res.code === 0) {
    //                 wx.navigateBack({});
    //             } else {
    //                 wx.showModal({
    //                     title: 'Sorry',
    //                     content: '同步信息出错~',
    //                 })
    //             }
    //         }
    //     })
    // }
})